package com.zzg.mapper;

import com.zzg.entity.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author zzg
 * @version 1.0.0
 * @ClassName：JurisdictionMapper
 * @Description: 权限管理dao层
 * @date 2021/6/18
 **/
@Mapper
public interface JurisdictionMapper {
   /**
    * 根据用户查询用户的所有权限
    * @author zzg
    * @date 2021/6/18 11:21
    * @params *@params
    * @return
    */
    List<Menu> showMenu(@Param("userName") String userName);

    /**
     * 查询所有菜单数据 用于菜单数据表的展示
     * @author zzg
     * @date 2021/6/18 16:55
     * @params *@params 分页查询的两条数据
     * @return
     */
    List<Object> menuList(@Param("pageNum") int page, @Param("pageSize") int limit);

    List<Object> roleList(@Param("pageNum") int page, @Param("pageSize") int limit);

    List<Object> tmsUserList(@Param("pageNum") int page, @Param("pageSize") int limit);
    /**
     * 下拉框菜单只查询有用的值
     * @author zzg
     * @date 2021/6/21 19:22
     * @params *@params 
     * @return 
     */
    List<Menu> previousMenu();
    /**
     * 插入菜单
     * @author zzg
     * @date 2021/6/21 19:20
     * @params *@params 
     * @return 
     */
    int addMenutble(@Param("menu")Menu menu);

    int delMenu(@Param("id")String menuId);
   /**
    * 根据id查询菜单修改所要的数据
    * @author zzg
    * @date 2021/6/21 20:01
    * @params *@params
    * @return
    */
    Menu showUpdateMenu(@Param("id")String menuId);

    int updateMenu(Menu menu);
    /**
     * 查询所有菜单
     * @author zzg
     * @date 2021/6/22 8:07
     * @params *@params
     * @return
     */
    List<Menu> menuAll();
    List<Menu> menuAllTmsId(@Param("tmsId") String tmsId);
    /**
     * 根据id查询上级菜单
     * @author zzg
     * @date 2021/6/22 8:09
     * @params *@params
     * @return
     */
    List<Menu> selectMenuId(@Param("id")String pid);
    List<Menu> selectMenuIdTms(@Param("id")String pid,@Param("tmsId")String tmsId);

    int addRole(@Param("role")Role role);

    int addRoleMenu(@Param("roleMenus")List<RoleMenu> menuId);

    int delRoleMenu(@Param("id")String roleId);

    int delRole(@Param("id")String roleId);

    Role ShowUpdateRole(String roleId);

    int updateRole(Role role);

    List<String> selectUserRole(@Param("tmsId")String tmsId);
    /**
     * 用户数据修改
     * @author zzg
     * @date 2021/6/23 20:03
     * @params *@params
     * @return
     */
    TmsUser tmsUser(@Param("tmsId")String tmsId);

    List<Role> selectRole();
    /**
     * 修改用户
     * @author zzg
     * @date 2021/6/23 20:40
     * @params *@params
     * @return
     */
    int updateTmsUser(TmsUser tmsUser);

    int delUserRole(@Param("tmsId")String tmsId);

    int addUserRole(@Param("tmsId")String tmsId,@Param("roleIdS")List<UserRole> roleId);
    /**
     * 查询所有员工
     * @author zzg
     * @date 2021/6/24 11:07
     * @params *@params
     * @return
     */
    List<Object> selectStaff(@Param("pageNum") int page, @Param("pageSize") int limit);

     /**
      * 根据id删除
      * @author yw
      * @params *@params
      * @return
      */
     int deletePersonner(@Param("id") String id);
     /**
      * 增加用户密码账号
      * @author yw
      * @params *@params
      * @return
      */
     int insertTmsuser(TmsUser user);
     /**
      * 增加用户
      * @author yw
      * @params *@params
      * @return
      */
     int insertPersonner(Personnel per);

}
